package com.arpa.wms.domain.dto;

import com.arpa.wms.domain.entity.BasicEntity;
import com.baomidou.mybatisplus.annotation.TableField;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotNull;
import java.time.LocalDateTime;

/**
 * <p>
 * 承运商DTO
 * </p>
 *
 * @author LEO
 * @since 2021-2-22
 */
@Data
@ApiModel(value="carrier对象", description="承运商")
public class CarrierDTO extends BasicEntity {

    @ApiModelProperty(value = "全局code")
    private String code;

    @ApiModelProperty(value = "所属机构")
    private String groupCode;

    @ApiModelProperty(value = "承运商编码")
    @TableField("carrier_code")
    private String carrierCode;

    @ApiModelProperty(value = "承运商名称")
    @TableField("name")
    private String name;

    @ApiModelProperty(value = "信用代码")
    private String businessLicenseImgNumber;

    @ApiModelProperty(value = "税点")
    private String taxPoint;

    @ApiModelProperty(value = "法人")
    private String legalPerson;

    @ApiModelProperty(value = "身份证号")
    private String idCard;

    @ApiModelProperty(value = "联系人")
    private String contacts;

    @ApiModelProperty(value = "手机号码")
    private String phone;

    @ApiModelProperty(value = "省")
    private String province;

    @ApiModelProperty(value = "市")
    private String city;

    @ApiModelProperty(value = "县/区")
    private String county;

    @ApiModelProperty(value = "地址")
    private String address;

    @ApiModelProperty(value = "备注")
    private String remark;

    @ApiModelProperty(value = "是否结算：0不结算，1结算")
    private String isSettlement;

    @ApiModelProperty(value = "审批人编码")
    private String approvedBy;

    @ApiModelProperty(value = "审批人姓名")
    private String approvedName;

    @ApiModelProperty(value = "审批时间")
    private LocalDateTime gmtApproved;

    @ApiModelProperty(value = "入驻商名称")
    private String shipmentName;

    @ApiModelProperty(value = "入驻商编码")
    private String shipmentCode;

    @ApiModelProperty(value = "承运商类型")
    private String carrierType;

    @ApiModelProperty(value = "承运商类型")
    private String qimenKey;

    @ApiModelProperty(value = "电子面单密码")
    private String waybillPassword;

    @ApiModelProperty(value = "外部编码")
    private String outerCode;

    @ApiModelProperty(value = "仓库编码")
    private String warehouseCode;

    @ApiModelProperty(value = "仓库名称")
    private String warehouseName;

    @ApiModelProperty(value = "模板类型")
    private String templateType;

    @ApiModelProperty(value = "模板名称")
    private String templateName;

    @ApiModelProperty(value = "模板地址")
    private String templateAddress;

    @ApiModelProperty(value = "模板编码")
    private String templateCode;

    @ApiModelProperty(value = "店铺编码")
    private String shopCode;

    @ApiModelProperty(value = "店铺名称")
    private String shopName;

    @ApiModelProperty(value = "状态 ，0-未审核，1-审核通过，2-审核未通过")
    private String status;

    @NotNull(message="请输入第几页")
    @ApiModelProperty(value = "第几页")
    private Integer pageNum=1;

    @NotNull(message="请输入每页条数")
    @ApiModelProperty(value = "每页条数")
    private Integer pageSize=10;

    @ApiModelProperty(value = "排序字段")
    private String sortField;

    @ApiModelProperty(value = "排序方式")
    private String sortType;

    @ApiModelProperty(value = "是否可以删除标识")
    private String deleteFlag;

    @ApiModelProperty(value = "发货地址")
    private String sendAddress;


    @ApiModelProperty(value = "平台类型：CAINIAO菜鸟；JD京东；PDD拼多多；")
    private String platformType;

    @ApiModelProperty(value = "顺丰快递产品编码，仅适用于淘宝顺分")
    private String productCode;

    @ApiModelProperty(value = "承运商发货网点名称")
    private String branchName;

    @ApiModelProperty(value = "顺丰快递品牌编码，仅适用于淘宝顺丰")
    private String brandCode;

    @ApiModelProperty(value = "顺丰月结卡号")
    private String customerCode;

    @ApiModelProperty(value = "快件产品类别，目前顺丰使用，后续可根据承运商自己定义 。1-顺丰标快；2-顺丰特惠")
    private String expressType;

    @ApiModelProperty(value = "快递费付款方式(顺丰必填)，1:寄方付 2:收方付 3:第三方付")
    private String expressPayMethod;
}
